package com.ncsc.lmis.model;
// Generated Feb 25, 2014 11:44:39 PM by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * SaleLoanPaymentAdvanced generated by hbm2java
 */
@Entity
@Table(name="sale_loan_payment_advanced"
    ,catalog="lmis"
)
public class SaleLoanPaymentAdvanced  implements java.io.Serializable {


     private SaleLoanPaymentAdvancedId id;
     private SaleLoanPayment saleLoanPayment;
     private BigDecimal payInstallmentVal;
     private BigDecimal payPrincipalVal;
     private BigDecimal payInterestVal;
     private BigDecimal payLoanFeeVal;
     private BigDecimal payCompoundDebtPendingInterestVal;

    public SaleLoanPaymentAdvanced() {
    }

    public SaleLoanPaymentAdvanced(SaleLoanPaymentAdvancedId id, SaleLoanPayment saleLoanPayment, BigDecimal payInstallmentVal, BigDecimal payPrincipalVal, BigDecimal payInterestVal, BigDecimal payLoanFeeVal, BigDecimal payCompoundDebtPendingInterestVal) {
       this.id = id;
       this.saleLoanPayment = saleLoanPayment;
       this.payInstallmentVal = payInstallmentVal;
       this.payPrincipalVal = payPrincipalVal;
       this.payInterestVal = payInterestVal;
       this.payLoanFeeVal = payLoanFeeVal;
       this.payCompoundDebtPendingInterestVal = payCompoundDebtPendingInterestVal;
    }
   
     @EmbeddedId

    
    @AttributeOverrides( {
        @AttributeOverride(name="contractRecNo", column=@Column(name="CONTRACT_REC_NO", nullable=false) ), 
        @AttributeOverride(name="paymentTypeNo", column=@Column(name="PAYMENT_TYPE_NO", nullable=false) ), 
        @AttributeOverride(name="termNo", column=@Column(name="TERM_NO", nullable=false) ), 
        @AttributeOverride(name="termSubNo", column=@Column(name="TERM_SUB_NO", nullable=false) ), 
        @AttributeOverride(name="dueDateTermNo", column=@Column(name="DUE_DATE_TERM_NO", nullable=false) ), 
        @AttributeOverride(name="dueDateTermSubNo", column=@Column(name="DUE_DATE_TERM_SUB_NO", nullable=false) ) } )
    public SaleLoanPaymentAdvancedId getId() {
        return this.id;
    }
    
    public void setId(SaleLoanPaymentAdvancedId id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumns( { 
        @JoinColumn(name="CONTRACT_REC_NO", referencedColumnName="CONTRACT_REC_NO", nullable=false, insertable=false, updatable=false), 
        @JoinColumn(name="PAYMENT_TYPE_NO", referencedColumnName="PAYMENT_TYPE_NO", nullable=false, insertable=false, updatable=false), 
        @JoinColumn(name="TERM_NO", referencedColumnName="TERM_NO", nullable=false, insertable=false, updatable=false), 
        @JoinColumn(name="TERM_SUB_NO", referencedColumnName="TERM_SUB_NO", nullable=false, insertable=false, updatable=false) } )
    public SaleLoanPayment getSaleLoanPayment() {
        return this.saleLoanPayment;
    }
    
    public void setSaleLoanPayment(SaleLoanPayment saleLoanPayment) {
        this.saleLoanPayment = saleLoanPayment;
    }

    
    @Column(name="PAY_INSTALLMENT_VAL", nullable=false, precision=15)
    public BigDecimal getPayInstallmentVal() {
        return this.payInstallmentVal;
    }
    
    public void setPayInstallmentVal(BigDecimal payInstallmentVal) {
        this.payInstallmentVal = payInstallmentVal;
    }

    
    @Column(name="PAY_PRINCIPAL_VAL", nullable=false, precision=15)
    public BigDecimal getPayPrincipalVal() {
        return this.payPrincipalVal;
    }
    
    public void setPayPrincipalVal(BigDecimal payPrincipalVal) {
        this.payPrincipalVal = payPrincipalVal;
    }

    
    @Column(name="PAY_INTEREST_VAL", nullable=false, precision=15)
    public BigDecimal getPayInterestVal() {
        return this.payInterestVal;
    }
    
    public void setPayInterestVal(BigDecimal payInterestVal) {
        this.payInterestVal = payInterestVal;
    }

    
    @Column(name="PAY_LOAN_FEE_VAL", nullable=false, precision=10)
    public BigDecimal getPayLoanFeeVal() {
        return this.payLoanFeeVal;
    }
    
    public void setPayLoanFeeVal(BigDecimal payLoanFeeVal) {
        this.payLoanFeeVal = payLoanFeeVal;
    }

    
    @Column(name="PAY_COMPOUND_DEBT_PENDING_INTEREST_VAL", nullable=false, precision=10)
    public BigDecimal getPayCompoundDebtPendingInterestVal() {
        return this.payCompoundDebtPendingInterestVal;
    }
    
    public void setPayCompoundDebtPendingInterestVal(BigDecimal payCompoundDebtPendingInterestVal) {
        this.payCompoundDebtPendingInterestVal = payCompoundDebtPendingInterestVal;
    }




}


